// stdx/allocx.rs
// CRITICAL: 分配相关（Box, Vec, String 等）示例。
// AUTO_COMMENT: 仅示例基础分配与所有权。

#[allow(dead_code)]
pub fn stdx_examples_allocx() {
    // CRITICAL: Box 用于堆分配小数据
    let b = Box::new(5);

    // CRITICAL: Vec 与 String 是堆分配的可变集合/字符串
    let mut v: Vec<i32> = Vec::new();
    v.push(1);
    let s: String = String::from("alloc");

    // CRITICAL: into_boxed_slice 将 Vec 转为 Box<[T]>
    let boxed_slice = v.into_boxed_slice();

    let _ = (b, s, boxed_slice);
}
